package com.tdam2013.grupo04;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.tdam2013.grupo04.Fragmento1.onFragmento1ClickListener;
import com.tdam2013.grupo04.Fragmento3.onFragmento3ClickListener;
import com.tdam2013.grupo04.datos.DatabaseHelper;
import com.tdam2013.grupo04.modelo.Contacto;

@SuppressWarnings("deprecation")
public class MainActivity2 extends FragmentActivity  implements   MyInterface  {
	//ConnectivityObserver
	private DatabaseHelper dbHelper;
	private DatabaseHelper baseDeDatos;
//	private int estadoConectividad = Constantes.estadoConectividad_noConectado;
	FragmentManager fragmentManager;
	FragmentTransaction  fragmentTransaction;
	Fragment fragmentRecientes;
	Fragment fragmentAgenda;
	
	/**
	 * Notifica de los cambios en la conectividad de datos moviles
	 */
//	@Override
//	public void manageNotification(boolean connectionEnabled) {
//		int estado;
//		StringBuilder mensajeConectividad = new StringBuilder();
//		if (connectionEnabled == true) {
//			estado = Constantes.estadoConectividad_conectado;
//			mensajeConectividad.append(Constantes.conectividadOn);
//		} else {
//			estado = Constantes.estadoConectividad_noConectado;
//			mensajeConectividad.append(Constantes.conectividadOff);
//		}
//		// Verifico si hubo cambios en la conectividad para informarlo al usuario
//		if (estado != this.estadoConectividad) {
//			Toast.makeText(this, mensajeConectividad, Toast.LENGTH_LONG).show();
//			this.estadoConectividad = estado;
//		}
//		this.dbHelper.addRegistroConectividad(estado);
//	}


	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.activity_main2);
		this.baseDeDatos = new DatabaseHelper(this);
		//seteamos el evento  para cada item del menu
		 ((Fragmento1)getSupportFragmentManager().findFragmentById(R.id.fragmento1)).setInterface(this);
		 ((Fragmento2)getSupportFragmentManager().findFragmentById(R.id.fragmento2)).setInterface(this);
		 ((Fragmento3)getSupportFragmentManager().findFragmentById(R.id.fragmento3)).setInterface(this);
		 ((Fragmento4)getSupportFragmentManager().findFragmentById(R.id.fragmento4)).setInterface(this);
		 
		 //seteamos los fragments que van a iniciar con la activity (Fragmentos 'Llamada')
		 fragmentManager=getSupportFragmentManager();
		 fragmentTransaction = fragmentManager.beginTransaction();
		 fragmentRecientes = fragmentManager.findFragmentById(R.id.fragmentoRecientes);
		 fragmentAgenda = fragmentManager.findFragmentById(R.id.fragmentoAgendaContactos);
		 fragmentRecientes = new FragmentoLlamadaRecientes();
		 fragmentAgenda = new FragmentoLlamadaAgenda();
		 fragmentTransaction.add(R.id.fragmentoRecientes,fragmentRecientes);
		 fragmentTransaction.add(R.id.fragmentoAgendaContactos,fragmentAgenda);
		 fragmentTransaction.commit();
		// setearInterfaceEnFragmentos();
	
	}
//	private void setearInterfaceEnFragmentos(){
//		
//		 fragmentRecientes = getSupportFragmentManager().findFragmentById(R.id.fragmentoRecientes);
//		 fragmentAgenda = getSupportFragmentManager().findFragmentById(R.id.fragmentoAgendaContactos);
//		 if (fragmentRecientes!=null){
//			
//			if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoLlamadaRecientes")){
//			 ((FragmentoLlamadaRecientes)getSupportFragmentManager().findFragmentById(R.id.fragmentoRecientes)).setInterface(this);
//			}
//			if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoSmsRecientes")){
//				 ((FragmentoSmsRecientes)getSupportFragmentManager().findFragmentById(R.id.fragmentoRecientes)).setInterface(this);
//				}
//			if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoEmailRecientes")){
//				 ((FragmentoEmailRecientes)getSupportFragmentManager().findFragmentById(R.id.fragmentoRecientes)).setInterface(this);
//				}
//			if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoServicioWebRecientes")){
//				 ((FragmentoServicioWebRecientes)getSupportFragmentManager().findFragmentById(R.id.fragmentoRecientes)).setInterface(this);
//				}
//		 }
//		 if (fragmentAgenda!=null){
//			 if(fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoLlamadaAgenda")){
//				 ((FragmentoLlamadaAgenda)getSupportFragmentManager().findFragmentById(R.id.fragmentoAgendaContactos)).setInterface(this);
//				}
//				if(fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoSmsAgenda")){
//					 ((FragmentoSmsAgenda)getSupportFragmentManager().findFragmentById(R.id.fragmentoAgendaContactos)).setInterface(this);
//					}
//				if(fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoEmailAgenda")){
//					 ((FragmentoEmailAgenda)getSupportFragmentManager().findFragmentById(R.id.fragmentoAgendaContactos)).setInterface(this);
//					}
//				if(fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoServicioWebAgenda")){
//					 ((FragmentoServicioWebAgenda)getSupportFragmentManager().findFragmentById(R.id.fragmentoAgendaContactos)).setInterface(this);
//					}
//		 }
//		 
//	}

//	@Override
//	public boolean onCreateOptionsMenu(Menu menu) {
//		MenuInflater inflater = this.getMenuInflater();
//		inflater.inflate(R.menu.menu, menu);
//		return super.onCreateOptionsMenu(menu);
//		 
//		
//	}
//
//	@Override
//	public boolean onOptionsItemSelected(MenuItem item) {
//		switch (item.getItemId()) {
//			case R.id.menu_opcion:
//				Intent i = new Intent(this, OpcionesActivity.class);
//				this.startActivity(i);
//				return true;
//			case R.id.menu_login:
//				Intent r = new Intent(this, LoginActivity.class);
//				this.startActivity(r);
//				return true;
//			case R.id.menu_historial_conectividad:
//				Intent intent = new Intent(this, HistorialConectividadActivity.class);
//				this.startActivity(intent);
//				return true;
//			default:
//				return super.onOptionsItemSelected(item);
//		}
//	}

	@Override
	protected void onPause() {
		super.onPause();
		//LiveConnectivityManager.singleton(this).removeObserver(this);
		
		
	}

	@Override
	public void onResume() {
		super.onResume();
	//	 setearInterfaceEnFragmentos();
	//	LiveConnectivityManager.singleton(this).addObserver(this);
		
	
	}

	

@Override
public void buttonClicked(View v) {

//	FragmentManager fragmentManager=getSupportFragmentManager();
//	 Fragment fragmentRecientes = fragmentManager.findFragmentById(R.id.fragmentoRecientes);
//	 Fragment fragmentAgenda = fragmentManager.findFragmentById(R.id.fragmentoAgendaContactos);

	if(fragmentRecientes!=null && fragmentAgenda!=null){	 
	
	}
			 switch(v.getId()){
			 case R.id.Imagebutton01: fragmentRecientes = new FragmentoLlamadaRecientes();
			                           fragmentAgenda = new FragmentoLlamadaAgenda();
			                           Toast.makeText(this,"Frag1: ",Toast.LENGTH_LONG).show();
			                           break;
			 case R.id.Imagebutton02: fragmentRecientes = new FragmentoSmsRecientes();
			 						  fragmentAgenda = new FragmentoSmsAgenda();
			 						 Toast.makeText(this,"Frag2: ",Toast.LENGTH_LONG).show();
			 						   break;
			 case R.id.Imagebutton03: fragmentRecientes = new FragmentoEmailRecientes();
			                          fragmentAgenda = new FragmentoEmailAgenda();
			                          Toast.makeText(this,"Frag3: ",Toast.LENGTH_LONG).show();
			                           break;
			 case R.id.Imagebutton04: fragmentRecientes = new FragmentoServiciowebRecientes();
			 							fragmentAgenda = new FragmentoServicioWebAgenda();
			 							Toast.makeText(this,"Frag4: ",Toast.LENGTH_LONG).show();
									     break;
			 }

			  fragmentTransaction = fragmentManager.beginTransaction();
			 fragmentTransaction.replace(R.id.fragmentoRecientes, fragmentRecientes);
			// fragmentTransaction.addToBackStack(null); esta linea es para agregar el fragment a la pila. De manera, si uno hace Back desde la UI recupera este Fragment
			 fragmentTransaction.replace(R.id.fragmentoAgendaContactos, fragmentAgenda);
			// fragmentTransaction.addToBackStack(null);
			 fragmentTransaction.commit();
	
	
}

//@Override
//public void onItemClick(AdapterView<?> adapter, View arg1, int position, long arg3,ListView listView) {
//	
	
//	 FragmentManager fragmentManager=getSupportFragmentManager();
//	 FragmentTransaction  fragmentTransaction = fragmentManager.beginTransaction();
//	 Fragment fragmentRecientes = fragmentManager.findFragmentById(R.id.fragmentoRecientes);		 
//	 Fragment fragmentAgenda = fragmentManager.findFragmentById(R.id.fragmentoAgendaContactos);	
	
	
//	 if(  ((FragmentoLlamadaRecientes) fragmentManager.findFragmentById(R.id.fragmentoRecientes)).getListId()==listView.getId())
//	 {Toast.makeText(this,"FLR: "+position,Toast.LENGTH_LONG).show();}	
//	 if(((FragmentoLlamadaAgenda)fragmentManager.findFragmentById(R.id.fragmentoAgendaContactos)).getListId()==listView.getId()	)
//	 {Toast.makeText(this,"FLA: "+position,Toast.LENGTH_LONG).show();}
//	 if(  ((FragmentoSmsRecientes) fragmentManager.findFragmentById(R.id.fragmentoRecientes)).getListId()==listView.getId())
//	 {Toast.makeText(this,"FSR: "+position,Toast.LENGTH_LONG).show();}		 
//	 if(((FragmentoSmsAgenda)fragmentManager.findFragmentById(R.id.fragmentoAgendaContactos)).getListId()==listView.getId()	)
//	 {Toast.makeText(this,"FSA: "+position,Toast.LENGTH_LONG).show();}
//	 
	 

	 
//	 if (fragmentRecientes!=null || fragmentAgenda!=null){
//		
//		if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoLlamadaRecientes") || fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoLlamadaAgenda")){
//	//		if(((FragmentoLlamadaRecientes)fragmentManager.findFragmentById(R.id.fragmentoRecientes)).getEstado()=="activado"){
//			
////			Contacto con = (Contacto) adapter.getItemAtPosition(position);
////			Intent intent = new Intent(Intent.ACTION_CALL);
////			intent.setData(Uri.parse("tel:" + con.getNroTelefono(0)));
////			this.startActivity(intent);
////			this.baseDeDatos.addAcciones(con, 1, con.getNroTelefono(0));
//			fragmentRecientes = new FragmentoLlamadaRecientes();
//			Toast.makeText(this,"FL: "+position,Toast.LENGTH_LONG).show();
//////			Log.v("FLR>>>", "FLR"+position);
////			
//		}
//		if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoSmsRecientes") || fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoSmsAgenda")){
//		//	if(((FragmentoSmsRecientes)fragmentManager.findFragmentById(R.id.fragmentoRecientes)).getEstado()=="activado"){
//			fragmentRecientes = new FragmentoSmsRecientes();
//			Toast.makeText(this,"FS: "+position,Toast.LENGTH_LONG).show();
//			}
//		if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoEmailRecientes") || fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoEmailAgenda") ){
//			fragmentRecientes = new FragmentoEmailRecientes();
//			Toast.makeText(this,"FE: "+position,Toast.LENGTH_LONG).show();
//			}
//		if(fragmentRecientes.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoServicioWebRecientes") || fragmentAgenda.getClass().toString().equalsIgnoreCase("class com.tdam2013.grupo04.FragmentoServicioWebAgenda")){
//			fragmentRecientes = new FragmentoServicioWebRecientes();
//			Toast.makeText(this,"FSW: "+position,Toast.LENGTH_LONG).show();	
//		}
//	 }

//	 fragmentTransaction.replace(R.id.fragmentoRecientes,fragmentRecientes);		
//	 fragmentTransaction.commit();
//	
	
//}
}
